//
//  EasyTableView.h
//  PhotobrowerTool
//
//  Created by tianhongyin on 14-4-8.
//  Copyright (c) 2014年 tianhongyin. All rights reserved.
//

#import <UIKit/UIKit.h>

@class EasyTableView;

@protocol EasyTableViewDataSource <NSObject>

@required  //必须实现的方法
- (NSInteger)easyTableView:(EasyTableView *)tableView numberOfRowsInSection:(NSInteger)section;
- (UITableViewCell *)easyTableView:(EasyTableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

@optional
- (NSInteger)easyTableViewNumberOfSectionsInTableView:(EasyTableView *)tableView;

@end


@protocol EasyTableViewDelegate <NSObject>

@optional
- (void)easyTableView:(EasyTableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath;
- (void)easyTableView:(EasyTableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section NS_AVAILABLE_IOS(6_0);
- (void)easyTableView:(EasyTableView *)tableView willDisplayFooterView:(UIView *)view forSection:(NSInteger)section NS_AVAILABLE_IOS(6_0);
- (CGFloat)easyTableView:(EasyTableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
- (CGFloat)easyTableView:(EasyTableView *)tableView heightForHeaderInSection:(NSInteger)section;
- (CGFloat)easyTableView:(EasyTableView *)tableView heightForFooterInSection:(NSInteger)section;
- (UIView *)easyTableView:(EasyTableView *)tableView viewForHeaderInSection:(NSInteger)section;
- (UIView *)easyTableView:(EasyTableView *)tableView viewForFooterInSection:(NSInteger)section;
- (void)easyTableView:(EasyTableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;

@end


@interface EasyTableView : UIView<UITableViewDataSource,UITableViewDelegate>

@property (nonatomic, assign)UITableViewStyle tableStyle;
@property (nonatomic, assign) UITableViewCellSeparatorStyle separatorStyle;
@property (nonatomic, weak)id delegate;
@property (nonatomic, weak)id dataSource;
@property (nonatomic, assign)BOOL pageEnable;
@property (nonatomic, strong) UITableView *tableView;
@property (nonatomic, assign) BOOL showsHorizontalScrollIndicator;
@property (nonatomic, assign) BOOL showsVerticalScrollIndicator;

- (void)reloadData;

- (void)setupSubViews;

- (id)dequeueReusableCellWithIdentifier:(NSString *)identifier;
@end
